package online.heycm.platform.common.tools.cipher.core;

import cn.hutool.core.util.RandomUtil;
import cn.hutool.crypto.digest.MD5;

/**
 * MD5加密
 *
 * @author heycm
 * @since 2022/6/20 20:23
 */
public class MD5Core {

    private MD5Core() {}

    /**
     * 加密
     *
     * @param content 加密内容
     * @param salt    盐
     * @return 密文
     */
    public static String encrypt(String content, String salt) {
        MD5 md5 = new MD5(salt.getBytes(), 1024);
        return md5.digestHex(content);
    }

    /**
     * 加密
     *
     * @param content 加密内容
     * @return 密文
     */
    public static String encrypt(String content) {
        MD5 md5 = new MD5();
        md5.setDigestCount(1024);
        return md5.digestHex(content);
    }

    /**
     * 生成盐值
     *
     * @param length 长度
     * @return
     */
    public static String generateSalt(int length) {
        assert length > 0;
        return RandomUtil.randomString(length);
    }
}
